﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LI4.Business
{
    public class Curso
    {
        private string nome;
        private Area area;
        private string descricao;
        private int totalvagas;
        private int nrinscritos;
        private int remuneracao;
        private string cod_postal;
        private string rua;
        private Localidade localidade;
        private int cod_curso;
        private string latitude;
        private string longitude;

        public Curso()
        {
            Area = new Area();
            Localidade = new Localidade();
        }

        public Curso(string nome,int cod_curso, Area area,string cod_postal,string rua, string descricao, int totalvagas,int nrinscritos,
                     int remuneracao, Localidade localidade, string latitude, string longitude)
        {
            Nome = nome;
            CodCurso = cod_curso;
            Area = area;
            Rua = rua;
            CodPostal = cod_postal;
            Descricao = descricao;
            Totalvagas = totalvagas;
            Nrinscritos = nrinscritos;
            Remuneracao= remuneracao;
            Localidade = localidade;
            Latitude = latitude;
            Longitude = longitude;
        }

        public Curso(Curso curso)
        {
            Nome = curso.Nome;
            CodCurso = curso.CodCurso;
            Area = curso.Area;
            Rua = curso.Rua;
            CodPostal = curso.CodPostal;
            Descricao = curso.Descricao;
            totalvagas = curso.Totalvagas;
            Nrinscritos = curso.Nrinscritos;
            Remuneracao = curso.Remuneracao;
            Localidade = curso.Localidade;
            Latitude = curso.Latitude;
            Longitude = curso.longitude;
        }

        public string Nome
        {

            get { return nome; }
            set { nome = value; }
        } 

        public int CodCurso
        {
            get { return cod_curso; }
            set { cod_curso = value; }
        }
        public Area Area
        {
            get { return area.clone(); }
            set { area = value.clone(); }
        }

        public string Rua
        {
            get { return rua; }
            set { rua = value; }
        }
        public string CodPostal
        {
            get { return cod_postal; }
            set { cod_postal = value; }
        }

        public string Descricao
        {
            get { return descricao; }
            set { descricao = value; }
        }
        public int Totalvagas
        {
            get { return totalvagas; }
            set { totalvagas = value; }
        }
        public int Nrinscritos
        {
            get { return nrinscritos; }
            set { nrinscritos = value; }
        }
        public int Remuneracao
        {
            get { return remuneracao; }
            set { remuneracao = value; }
        }
        public Localidade Localidade
        {
            get { return localidade.clone(); }
            set { localidade = value.clone(); }
        }

        public string Latitude
        {
            get { return latitude; }
            set { latitude = value; }
        }
        public string Longitude
        {
            get { return longitude; }
            set { longitude = value; }
        }

        public override string ToString()
        {
            return Nome;
        }

        public Curso clone()
        {
            return new Curso(this);
        }
    }
}
